from pydantic import Field

from app.tool import ToolCollection, CreateChatCompletion, Terminate
from app.tool.python_execute import PythonExecute


class p:
    name: str = Field(..., description="Unique name of the agent")
    available_tools: ToolCollection = ToolCollection(
        CreateChatCompletion(), Terminate()
    )


class s:
    name: str = "sss"
    available_tools: ToolCollection = Field(
        default_factory=lambda: ToolCollection(
            PythonExecute()
        )
    )

s = s()
p = p()
print(p.available_tools)

